<?php
/**
 * 模拟get请求
 * Enter description here ...
 * @param unknown_type $url 请求地址
 * @param unknown_type $options 批量设置cURL传输选项
 */
function curl_get($url='', $options=array()){
    //初始化curl模块
    $ch = curl_init($url);

    //是否自动显示返回的信息
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    //最大等待时间
    curl_setopt($ch, CURLOPT_TIMEOUT, 15);

    //终止从服务端进行验证cURL
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

    //1 检查服务器SSL证书中是否存在一个公用名(common name)。译者注：公用名(Common Name)一般来讲就是填写你将要申请SSL证书的域名 (domain)或子域名(sub domain)。2 检查公用名是否存在，并且是否与提供的主机名匹配。
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

    //是否批量设置cURL传输选项
    if (!empty($options)){
        curl_setopt_array($ch, $options);
    }
    $data = curl_exec($ch);
    if ($data===false) {
        return false;
//    	$data=curl_error($ch);
    }
    curl_close($ch);
    return $data;
}




/**
 * 模拟post请求
 * Enter description here ...
 * @param unknown_type $url 请求地址
 * @param unknown_type $postdata 要提交的数据
 * @param unknown_type $options 批量设置cURL传输选项
 */
function curl_post($url='', $postdata='', $options=array()){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 25);
    if (!empty($options)){
        curl_setopt_array($ch, $options);
    }
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}


/**
 * 将数据写入文件
 * Enter description here ...
 * @param unknown_type $data 要写入的数据
 * @param unknown_type $path 路径
 * @param unknown_type $fileName 文件名
 * @param unknown_type $auth 文件操作权限
 */
function writeToFile($data,$path,$fileName,$auth){
    $fp = fopen($path.$fileName , $auth);
    switch (gettype($data)){
        case 'array':
            fwrite($fp, print_r($data,true));
            break;

        default:
            fwrite($fp, $data);
            break;
    }
    fclose($fp);
}


//中文url编码
function zhUrlEncode($str) {
    if(is_array($str)) {
        foreach($str as $key=>$value) {
            $str[urlencode($key)] = zhUrlEncode($value);
        }
    } else {
        //判断为中文才编码
        if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {
            $str = urlencode($str);
        }
    }
    return $str;
}


/**
 * json编码（不编辑特殊字符）
 * @param $str
 * @return string
 */
function myJsonEncode($str) {
    return urldecode(json_encode(zhUrlEncode($str)));
}